<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.7"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>cpp-ipfs-http-client: /media/melroy/Data/Projects/cpp-ipfs-http-client/include/ipfs/client.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr id="projectrow">
  <td id="projectalign">
   <div id="projectname">cpp-ipfs-http-client
   </div>
   <div id="projectbrief">IPFS C++ client library</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.7 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>

<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_9fc725be01a8beaa700ba2c8e692d63d.html">ipfs</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="headertitle"><div class="title">client.h</div></div>
</div><!--header-->
<div class="contents">
<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno">    1</span><span class="comment">/* Copyright (c) 2016-2023, The C++ IPFS client library developers</span></div>
<div class="line"><a id="l00002" name="l00002"></a><span class="lineno">    2</span><span class="comment"></span> </div>
<div class="line"><a id="l00003" name="l00003"></a><span class="lineno">    3</span><span class="comment">Permission is hereby granted, free of charge, to any person obtaining a copy of</span></div>
<div class="line"><a id="l00004" name="l00004"></a><span class="lineno">    4</span><span class="comment">this software and associated documentation files (the &quot;Software&quot;), to deal in</span></div>
<div class="line"><a id="l00005" name="l00005"></a><span class="lineno">    5</span><span class="comment">the Software without restriction, including without limitation the rights to</span></div>
<div class="line"><a id="l00006" name="l00006"></a><span class="lineno">    6</span><span class="comment">use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of</span></div>
<div class="line"><a id="l00007" name="l00007"></a><span class="lineno">    7</span><span class="comment">the Software, and to permit persons to whom the Software is furnished to do so,</span></div>
<div class="line"><a id="l00008" name="l00008"></a><span class="lineno">    8</span><span class="comment">subject to the following conditions:</span></div>
<div class="line"><a id="l00009" name="l00009"></a><span class="lineno">    9</span><span class="comment"></span> </div>
<div class="line"><a id="l00010" name="l00010"></a><span class="lineno">   10</span><span class="comment">The above copyright notice and this permission notice shall be included in all</span></div>
<div class="line"><a id="l00011" name="l00011"></a><span class="lineno">   11</span><span class="comment">copies or substantial portions of the Software.</span></div>
<div class="line"><a id="l00012" name="l00012"></a><span class="lineno">   12</span><span class="comment"></span> </div>
<div class="line"><a id="l00013" name="l00013"></a><span class="lineno">   13</span><span class="comment">THE SOFTWARE IS PROVIDED &quot;AS IS&quot;, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR</span></div>
<div class="line"><a id="l00014" name="l00014"></a><span class="lineno">   14</span><span class="comment">IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS</span></div>
<div class="line"><a id="l00015" name="l00015"></a><span class="lineno">   15</span><span class="comment">FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR</span></div>
<div class="line"><a id="l00016" name="l00016"></a><span class="lineno">   16</span><span class="comment">COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER</span></div>
<div class="line"><a id="l00017" name="l00017"></a><span class="lineno">   17</span><span class="comment">IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN</span></div>
<div class="line"><a id="l00018" name="l00018"></a><span class="lineno">   18</span><span class="comment">CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */</span></div>
<div class="line"><a id="l00019" name="l00019"></a><span class="lineno">   19</span> </div>
<div class="line"><a id="l00020" name="l00020"></a><span class="lineno">   20</span><span class="preprocessor">#ifndef IPFS_CLIENT_H</span></div>
<div class="line"><a id="l00021" name="l00021"></a><span class="lineno">   21</span><span class="preprocessor">#define IPFS_CLIENT_H</span></div>
<div class="line"><a id="l00022" name="l00022"></a><span class="lineno">   22</span> </div>
<div class="line"><a id="l00023" name="l00023"></a><span class="lineno">   23</span><span class="preprocessor">#include &lt;ipfs/http/transport.h&gt;</span></div>
<div class="line"><a id="l00024" name="l00024"></a><span class="lineno">   24</span> </div>
<div class="line"><a id="l00025" name="l00025"></a><span class="lineno">   25</span><span class="preprocessor">#include &lt;iostream&gt;</span></div>
<div class="line"><a id="l00026" name="l00026"></a><span class="lineno">   26</span><span class="preprocessor">#include &lt;memory&gt;</span></div>
<div class="line"><a id="l00027" name="l00027"></a><span class="lineno">   27</span><span class="preprocessor">#include &lt;nlohmann/json.hpp&gt;</span></div>
<div class="line"><a id="l00028" name="l00028"></a><span class="lineno">   28</span><span class="preprocessor">#include &lt;string&gt;</span></div>
<div class="line"><a id="l00029" name="l00029"></a><span class="lineno">   29</span><span class="preprocessor">#include &lt;utility&gt;</span></div>
<div class="line"><a id="l00030" name="l00030"></a><span class="lineno">   30</span><span class="preprocessor">#include &lt;vector&gt;</span></div>
<div class="line"><a id="l00031" name="l00031"></a><span class="lineno">   31</span> </div>
<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"><a class="line" href="namespaceipfs.html">   33</a></span><span class="keyword">namespace </span><a class="code hl_namespace" href="namespaceipfs.html">ipfs</a> {</div>
<div class="line"><a id="l00034" name="l00034"></a><span class="lineno">   34</span> </div>
<div class="line"><a id="l00037" name="l00037"></a><span class="lineno"><a class="line" href="namespaceipfs.html#a92ea49891c9d47378b920b41704a29ec">   37</a></span><span class="keyword">using </span><a class="code hl_typedef" href="namespaceipfs.html#a92ea49891c9d47378b920b41704a29ec">Json</a> = nlohmann::json;</div>
<div class="line"><a id="l00038" name="l00038"></a><span class="lineno">   38</span> </div>
<div class="line"><a id="l00048" name="l00048"></a><span class="lineno"><a class="line" href="classipfs_1_1Client.html">   48</a></span><span class="keyword">class </span><a class="code hl_class" href="classipfs_1_1Client.html">Client</a> {</div>
<div class="line"><a id="l00049" name="l00049"></a><span class="lineno">   49</span> <span class="keyword">public</span>:</div>
<div class="line"><a id="l00056" name="l00056"></a><span class="lineno">   56</span>  <a class="code hl_class" href="classipfs_1_1Client.html">Client</a>(</div>
<div class="line"><a id="l00058" name="l00058"></a><span class="lineno">   58</span>      <span class="keyword">const</span> std::string&amp; host,</div>
<div class="line"><a id="l00060" name="l00060"></a><span class="lineno">   60</span>      <span class="keywordtype">long</span> port,</div>
<div class="line"><a id="l00063" name="l00063"></a><span class="lineno">   63</span>      <span class="keyword">const</span> std::string&amp; timeout = <span class="stringliteral">&quot;&quot;</span>,</div>
<div class="line"><a id="l00065" name="l00065"></a><span class="lineno">   65</span>      <span class="keyword">const</span> std::string&amp; protocol = <span class="stringliteral">&quot;http://&quot;</span>,</div>
<div class="line"><a id="l00067" name="l00067"></a><span class="lineno">   67</span>      <span class="keyword">const</span> std::string&amp; apiPath = <span class="stringliteral">&quot;/api/v0&quot;</span>,</div>
<div class="line"><a id="l00069" name="l00069"></a><span class="lineno">   69</span>      <span class="keywordtype">bool</span> verbose = <span class="keyword">false</span>);</div>
<div class="line"><a id="l00070" name="l00070"></a><span class="lineno">   70</span> </div>
<div class="line"><a id="l00072" name="l00072"></a><span class="lineno">   72</span>  <a class="code hl_class" href="classipfs_1_1Client.html">Client</a>(</div>
<div class="line"><a id="l00074" name="l00074"></a><span class="lineno">   74</span>      <span class="keyword">const</span> <a class="code hl_class" href="classipfs_1_1Client.html">Client</a>&amp;);</div>
<div class="line"><a id="l00075" name="l00075"></a><span class="lineno">   75</span> </div>
<div class="line"><a id="l00077" name="l00077"></a><span class="lineno">   77</span>  <a class="code hl_class" href="classipfs_1_1Client.html">Client</a>(</div>
<div class="line"><a id="l00079" name="l00079"></a><span class="lineno">   79</span>      <a class="code hl_class" href="classipfs_1_1Client.html">Client</a>&amp;&amp;) <span class="keyword">noexcept</span>;</div>
<div class="line"><a id="l00080" name="l00080"></a><span class="lineno">   80</span> </div>
<div class="line"><a id="l00083" name="l00083"></a><span class="lineno">   83</span>  <a class="code hl_class" href="classipfs_1_1Client.html">Client</a>&amp; <a class="code hl_function" href="classipfs_1_1Client.html#ab3ff2cc70ec6a65761d2d088a9ba9323">operator=</a>(</div>
<div class="line"><a id="l00085" name="l00085"></a><span class="lineno">   85</span>      <span class="keyword">const</span> <a class="code hl_class" href="classipfs_1_1Client.html">Client</a>&amp;);</div>
<div class="line"><a id="l00086" name="l00086"></a><span class="lineno">   86</span> </div>
<div class="line"><a id="l00089" name="l00089"></a><span class="lineno">   89</span>  <a class="code hl_class" href="classipfs_1_1Client.html">Client</a>&amp; <a class="code hl_function" href="classipfs_1_1Client.html#ab3ff2cc70ec6a65761d2d088a9ba9323">operator=</a>(</div>
<div class="line"><a id="l00091" name="l00091"></a><span class="lineno">   91</span>      <a class="code hl_class" href="classipfs_1_1Client.html">Client</a>&amp;&amp;) <span class="keyword">noexcept</span>;</div>
<div class="line"><a id="l00092" name="l00092"></a><span class="lineno">   92</span> </div>
<div class="line"><a id="l00095" name="l00095"></a><span class="lineno"><a class="line" href="classipfs_1_1Client.html#a640274d537d4da7139c89c4dacac531c">   95</a></span>  <a class="code hl_function" href="classipfs_1_1Client.html#a640274d537d4da7139c89c4dacac531c">~Client</a>();</div>
<div class="line"><a id="l00096" name="l00096"></a><span class="lineno">   96</span> </div>
<div class="line"><a id="l00108" name="l00108"></a><span class="lineno">  108</span>  <span class="keywordtype">void</span> <a class="code hl_function" href="classipfs_1_1Client.html#ae2ab8a0186ec89f1644a3b1d1a0d20fb">Id</a>(</div>
<div class="line"><a id="l00111" name="l00111"></a><span class="lineno">  111</span>      <a class="code hl_typedef" href="namespaceipfs.html#a92ea49891c9d47378b920b41704a29ec">Json</a>* <span class="keywordtype">id</span>);</div>
<div class="line"><a id="l00112" name="l00112"></a><span class="lineno">  112</span> </div>
<div class="line"><a id="l00124" name="l00124"></a><span class="lineno">  124</span>  <span class="keywordtype">void</span> <a class="code hl_function" href="classipfs_1_1Client.html#adaabe1a027399cbcabe291f3471e87f4">Version</a>(</div>
<div class="line"><a id="l00127" name="l00127"></a><span class="lineno">  127</span>      <a class="code hl_typedef" href="namespaceipfs.html#a92ea49891c9d47378b920b41704a29ec">Json</a>* version);</div>
<div class="line"><a id="l00128" name="l00128"></a><span class="lineno">  128</span> </div>
<div class="line"><a id="l00140" name="l00140"></a><span class="lineno">  140</span>  <span class="keywordtype">void</span> <a class="code hl_function" href="classipfs_1_1Client.html#a4fc42dccf9392a96d51099bc252a6092">ConfigGet</a>(</div>
<div class="line"><a id="l00143" name="l00143"></a><span class="lineno">  143</span>      <span class="keyword">const</span> std::string&amp; key,</div>
<div class="line"><a id="l00145" name="l00145"></a><span class="lineno">  145</span>      <a class="code hl_typedef" href="namespaceipfs.html#a92ea49891c9d47378b920b41704a29ec">Json</a>* config);</div>
<div class="line"><a id="l00146" name="l00146"></a><span class="lineno">  146</span> </div>
<div class="line"><a id="l00158" name="l00158"></a><span class="lineno">  158</span>  <span class="keywordtype">void</span> <a class="code hl_function" href="classipfs_1_1Client.html#ab50f9855e7c812542e153475e86645b9">ConfigSet</a>(</div>
<div class="line"><a id="l00160" name="l00160"></a><span class="lineno">  160</span>      <span class="keyword">const</span> std::string&amp; key,</div>
<div class="line"><a id="l00162" name="l00162"></a><span class="lineno">  162</span>      <span class="keyword">const</span> <a class="code hl_typedef" href="namespaceipfs.html#a92ea49891c9d47378b920b41704a29ec">Json</a>&amp; value);</div>
<div class="line"><a id="l00163" name="l00163"></a><span class="lineno">  163</span> </div>
<div class="line"><a id="l00175" name="l00175"></a><span class="lineno">  175</span>  <span class="keywordtype">void</span> <a class="code hl_function" href="classipfs_1_1Client.html#aa6e2c0b4a19bacb58932e777be08d232">ConfigReplace</a>(</div>
<div class="line"><a id="l00177" name="l00177"></a><span class="lineno">  177</span>      <span class="keyword">const</span> <a class="code hl_typedef" href="namespaceipfs.html#a92ea49891c9d47378b920b41704a29ec">Json</a>&amp; config);</div>
<div class="line"><a id="l00178" name="l00178"></a><span class="lineno">  178</span> </div>
<div class="line"><a id="l00190" name="l00190"></a><span class="lineno">  190</span>  <span class="keywordtype">void</span> <a class="code hl_function" href="classipfs_1_1Client.html#af34ac771242a66294ff60d820712a99d">DhtFindPeer</a>(</div>
<div class="line"><a id="l00192" name="l00192"></a><span class="lineno">  192</span>      <span class="keyword">const</span> std::string&amp; peer_id,</div>
<div class="line"><a id="l00194" name="l00194"></a><span class="lineno">  194</span>      <a class="code hl_typedef" href="namespaceipfs.html#a92ea49891c9d47378b920b41704a29ec">Json</a>* addresses);</div>
<div class="line"><a id="l00195" name="l00195"></a><span class="lineno">  195</span> </div>
<div class="line"><a id="l00207" name="l00207"></a><span class="lineno">  207</span>  <span class="keywordtype">void</span> <a class="code hl_function" href="classipfs_1_1Client.html#a9c93643d0567793925daea95ece432eb">DhtFindProvs</a>(</div>
<div class="line"><a id="l00209" name="l00209"></a><span class="lineno">  209</span>      <span class="keyword">const</span> std::string&amp; hash,</div>
<div class="line"><a id="l00211" name="l00211"></a><span class="lineno">  211</span>      <a class="code hl_typedef" href="namespaceipfs.html#a92ea49891c9d47378b920b41704a29ec">Json</a>* providers);</div>
<div class="line"><a id="l00212" name="l00212"></a><span class="lineno">  212</span> </div>
<div class="line"><a id="l00224" name="l00224"></a><span class="lineno">  224</span>  <span class="keywordtype">void</span> <a class="code hl_function" href="classipfs_1_1Client.html#a4cd82e5d6223c2522c50e01047eb9d74">BlockGet</a>(</div>
<div class="line"><a id="l00226" name="l00226"></a><span class="lineno">  226</span>      <span class="keyword">const</span> std::string&amp; block_id,</div>
<div class="line"><a id="l00229" name="l00229"></a><span class="lineno">  229</span>      std::iostream* block);</div>
<div class="line"><a id="l00230" name="l00230"></a><span class="lineno">  230</span> </div>
<div class="line"><a id="l00242" name="l00242"></a><span class="lineno">  242</span>  <span class="keywordtype">void</span> <a class="code hl_function" href="classipfs_1_1Client.html#a1613d0ec824f1967a66ff53153d914be">BlockPut</a>(</div>
<div class="line"><a id="l00244" name="l00244"></a><span class="lineno">  244</span>      <span class="keyword">const</span> <a class="code hl_struct" href="structipfs_1_1http_1_1FileUpload.html">http::FileUpload</a>&amp; block,</div>
<div class="line"><a id="l00246" name="l00246"></a><span class="lineno">  246</span>      <a class="code hl_typedef" href="namespaceipfs.html#a92ea49891c9d47378b920b41704a29ec">Json</a>* stat);</div>
<div class="line"><a id="l00247" name="l00247"></a><span class="lineno">  247</span> </div>
<div class="line"><a id="l00259" name="l00259"></a><span class="lineno">  259</span>  <span class="keywordtype">void</span> <a class="code hl_function" href="classipfs_1_1Client.html#a08c8f4cc1091fd142e002a2861fada59">BlockStat</a>(</div>
<div class="line"><a id="l00261" name="l00261"></a><span class="lineno">  261</span>      <span class="keyword">const</span> std::string&amp; block_id,</div>
<div class="line"><a id="l00263" name="l00263"></a><span class="lineno">  263</span>      <a class="code hl_typedef" href="namespaceipfs.html#a92ea49891c9d47378b920b41704a29ec">Json</a>* stat);</div>
<div class="line"><a id="l00264" name="l00264"></a><span class="lineno">  264</span> </div>
<div class="line"><a id="l00276" name="l00276"></a><span class="lineno">  276</span>  <span class="keywordtype">void</span> <a class="code hl_function" href="classipfs_1_1Client.html#a7598eaecec5293f29f84e2fc7ca7bc5b">FilesGet</a>(</div>
<div class="line"><a id="l00279" name="l00279"></a><span class="lineno">  279</span>      <span class="keyword">const</span> std::string&amp; path,</div>
<div class="line"><a id="l00282" name="l00282"></a><span class="lineno">  282</span>      std::iostream* response);</div>
<div class="line"><a id="l00283" name="l00283"></a><span class="lineno">  283</span> </div>
<div class="line"><a id="l00295" name="l00295"></a><span class="lineno">  295</span>  <span class="keywordtype">void</span> <a class="code hl_function" href="classipfs_1_1Client.html#abe2e1d9f5479fa5007f93a0dee053d12">FilesAdd</a>(</div>
<div class="line"><a id="l00297" name="l00297"></a><span class="lineno">  297</span>      <span class="keyword">const</span> std::vector&lt;http::FileUpload&gt;&amp; files,</div>
<div class="line"><a id="l00301" name="l00301"></a><span class="lineno">  301</span>      <a class="code hl_typedef" href="namespaceipfs.html#a92ea49891c9d47378b920b41704a29ec">Json</a>* result);</div>
<div class="line"><a id="l00302" name="l00302"></a><span class="lineno">  302</span> </div>
<div class="line"><a id="l00314" name="l00314"></a><span class="lineno">  314</span>  <span class="keywordtype">void</span> <a class="code hl_function" href="classipfs_1_1Client.html#a0c0a73fa1a284cd4a12c1395a0eb356c">FilesLs</a>(</div>
<div class="line"><a id="l00316" name="l00316"></a><span class="lineno">  316</span>      <span class="keyword">const</span> std::string&amp; path,</div>
<div class="line"><a id="l00344" name="l00344"></a><span class="lineno">  344</span>      <a class="code hl_typedef" href="namespaceipfs.html#a92ea49891c9d47378b920b41704a29ec">Json</a>* result);</div>
<div class="line"><a id="l00345" name="l00345"></a><span class="lineno">  345</span> </div>
<div class="line"><a id="l00357" name="l00357"></a><span class="lineno">  357</span>  <span class="keywordtype">void</span> <a class="code hl_function" href="classipfs_1_1Client.html#ada01369adfda81c869a7095d98197961">KeyGen</a>(</div>
<div class="line"><a id="l00359" name="l00359"></a><span class="lineno">  359</span>      <span class="keyword">const</span> std::string&amp; key_name,</div>
<div class="line"><a id="l00361" name="l00361"></a><span class="lineno">  361</span>      <span class="keyword">const</span> std::string&amp; key_type,</div>
<div class="line"><a id="l00363" name="l00363"></a><span class="lineno">  363</span>      <span class="keywordtype">size_t</span> key_size,</div>
<div class="line"><a id="l00365" name="l00365"></a><span class="lineno">  365</span>      std::string* key_id);</div>
<div class="line"><a id="l00366" name="l00366"></a><span class="lineno">  366</span> </div>
<div class="line"><a id="l00378" name="l00378"></a><span class="lineno">  378</span>  <span class="keywordtype">void</span> <a class="code hl_function" href="classipfs_1_1Client.html#a49d9bb4e44e66170c8e32134300ccfb1">KeyList</a>(</div>
<div class="line"><a id="l00380" name="l00380"></a><span class="lineno">  380</span>      <a class="code hl_typedef" href="namespaceipfs.html#a92ea49891c9d47378b920b41704a29ec">Json</a>* key_list);</div>
<div class="line"><a id="l00381" name="l00381"></a><span class="lineno">  381</span> </div>
<div class="line"><a id="l00393" name="l00393"></a><span class="lineno">  393</span>  <span class="keywordtype">void</span> <a class="code hl_function" href="classipfs_1_1Client.html#a8c8c8703f4be0e4eb5053301b3577ed8">KeyRm</a>(</div>
<div class="line"><a id="l00395" name="l00395"></a><span class="lineno">  395</span>      <span class="keyword">const</span> std::string&amp; key_name);</div>
<div class="line"><a id="l00396" name="l00396"></a><span class="lineno">  396</span> </div>
<div class="line"><a id="l00408" name="l00408"></a><span class="lineno">  408</span>  <span class="keywordtype">void</span> <a class="code hl_function" href="classipfs_1_1Client.html#a599d2585c57dd3abbc1b497454f3c541">KeyRename</a>(</div>
<div class="line"><a id="l00410" name="l00410"></a><span class="lineno">  410</span>      <span class="keyword">const</span> std::string&amp; old_key,</div>
<div class="line"><a id="l00412" name="l00412"></a><span class="lineno">  412</span>      <span class="keyword">const</span> std::string&amp; new_key);</div>
<div class="line"><a id="l00413" name="l00413"></a><span class="lineno">  413</span> </div>
<div class="line"><a id="l00425" name="l00425"></a><span class="lineno">  425</span>  <span class="keywordtype">void</span> <a class="code hl_function" href="classipfs_1_1Client.html#a93d0ec05a38a4094b3e0dc33c0cc7efe">NamePublish</a>(</div>
<div class="line"><a id="l00427" name="l00427"></a><span class="lineno">  427</span>      <span class="keyword">const</span> std::string&amp; object_id,</div>
<div class="line"><a id="l00430" name="l00430"></a><span class="lineno">  430</span>      <span class="keyword">const</span> std::string&amp; key_name,</div>
<div class="line"><a id="l00442" name="l00442"></a><span class="lineno">  442</span>      <span class="keyword">const</span> <a class="code hl_typedef" href="namespaceipfs.html#a92ea49891c9d47378b920b41704a29ec">Json</a>&amp; options,</div>
<div class="line"><a id="l00444" name="l00444"></a><span class="lineno">  444</span>      std::string* name_id);</div>
<div class="line"><a id="l00445" name="l00445"></a><span class="lineno">  445</span> </div>
<div class="line"><a id="l00457" name="l00457"></a><span class="lineno">  457</span>  <span class="keywordtype">void</span> <a class="code hl_function" href="classipfs_1_1Client.html#a61596ec86896753addebc2acac01d011">NameResolve</a>(</div>
<div class="line"><a id="l00459" name="l00459"></a><span class="lineno">  459</span>      <span class="keyword">const</span> std::string&amp; name_id,</div>
<div class="line"><a id="l00462" name="l00462"></a><span class="lineno">  462</span>      std::string* path_string);</div>
<div class="line"><a id="l00463" name="l00463"></a><span class="lineno">  463</span> </div>
<div class="line"><a id="l00475" name="l00475"></a><span class="lineno">  475</span>  <span class="keywordtype">void</span> <a class="code hl_function" href="classipfs_1_1Client.html#a65d8e5b1ac53f2f54bc9860dea015c6d">ObjectNew</a>(</div>
<div class="line"><a id="l00477" name="l00477"></a><span class="lineno">  477</span>      std::string* object_id);</div>
<div class="line"><a id="l00478" name="l00478"></a><span class="lineno">  478</span> </div>
<div class="line"><a id="l00490" name="l00490"></a><span class="lineno">  490</span>  <span class="keywordtype">void</span> <a class="code hl_function" href="classipfs_1_1Client.html#a783ddccb9559315599b07343b153ffc2">ObjectPut</a>(</div>
<div class="line"><a id="l00492" name="l00492"></a><span class="lineno">  492</span>      <span class="keyword">const</span> <a class="code hl_typedef" href="namespaceipfs.html#a92ea49891c9d47378b920b41704a29ec">Json</a>&amp; <span class="keywordtype">object</span>,</div>
<div class="line"><a id="l00495" name="l00495"></a><span class="lineno">  495</span>      <a class="code hl_typedef" href="namespaceipfs.html#a92ea49891c9d47378b920b41704a29ec">Json</a>* object_stored);</div>
<div class="line"><a id="l00496" name="l00496"></a><span class="lineno">  496</span> </div>
<div class="line"><a id="l00508" name="l00508"></a><span class="lineno">  508</span>  <span class="keywordtype">void</span> <a class="code hl_function" href="classipfs_1_1Client.html#abc9556daecb92afeea9b2adfde034a7f">ObjectGet</a>(</div>
<div class="line"><a id="l00510" name="l00510"></a><span class="lineno">  510</span>      <span class="keyword">const</span> std::string&amp; object_id,</div>
<div class="line"><a id="l00514" name="l00514"></a><span class="lineno">  514</span>      <a class="code hl_typedef" href="namespaceipfs.html#a92ea49891c9d47378b920b41704a29ec">Json</a>* <span class="keywordtype">object</span>);</div>
<div class="line"><a id="l00515" name="l00515"></a><span class="lineno">  515</span> </div>
<div class="line"><a id="l00527" name="l00527"></a><span class="lineno">  527</span>  <span class="keywordtype">void</span> <a class="code hl_function" href="classipfs_1_1Client.html#aa8d6e75330c6a3d82130f0be4b66b13e">ObjectData</a>(</div>
<div class="line"><a id="l00529" name="l00529"></a><span class="lineno">  529</span>      <span class="keyword">const</span> std::string&amp; object_id,</div>
<div class="line"><a id="l00531" name="l00531"></a><span class="lineno">  531</span>      std::string* data);</div>
<div class="line"><a id="l00532" name="l00532"></a><span class="lineno">  532</span> </div>
<div class="line"><a id="l00544" name="l00544"></a><span class="lineno">  544</span>  <span class="keywordtype">void</span> <a class="code hl_function" href="classipfs_1_1Client.html#a90b1ecd4897794ea6ad5742a41f21525">ObjectLinks</a>(</div>
<div class="line"><a id="l00546" name="l00546"></a><span class="lineno">  546</span>      <span class="keyword">const</span> std::string&amp; object_id,</div>
<div class="line"><a id="l00549" name="l00549"></a><span class="lineno">  549</span>      <a class="code hl_typedef" href="namespaceipfs.html#a92ea49891c9d47378b920b41704a29ec">Json</a>* links);</div>
<div class="line"><a id="l00550" name="l00550"></a><span class="lineno">  550</span> </div>
<div class="line"><a id="l00562" name="l00562"></a><span class="lineno">  562</span>  <span class="keywordtype">void</span> <a class="code hl_function" href="classipfs_1_1Client.html#a2fcb017f9de04c221b78e47cf062039d">ObjectStat</a>(</div>
<div class="line"><a id="l00564" name="l00564"></a><span class="lineno">  564</span>      <span class="keyword">const</span> std::string&amp; object_id,</div>
<div class="line"><a id="l00567" name="l00567"></a><span class="lineno">  567</span>      <a class="code hl_typedef" href="namespaceipfs.html#a92ea49891c9d47378b920b41704a29ec">Json</a>* stat);</div>
<div class="line"><a id="l00568" name="l00568"></a><span class="lineno">  568</span> </div>
<div class="line"><a id="l00580" name="l00580"></a><span class="lineno">  580</span>  <span class="keywordtype">void</span> <a class="code hl_function" href="classipfs_1_1Client.html#a5d239a25cd20cbc15c13c96c790abf46">ObjectPatchAddLink</a>(</div>
<div class="line"><a id="l00582" name="l00582"></a><span class="lineno">  582</span>      <span class="keyword">const</span> std::string&amp; source,</div>
<div class="line"><a id="l00584" name="l00584"></a><span class="lineno">  584</span>      <span class="keyword">const</span> std::string&amp; link_name,</div>
<div class="line"><a id="l00586" name="l00586"></a><span class="lineno">  586</span>      <span class="keyword">const</span> std::string&amp; link_target,</div>
<div class="line"><a id="l00588" name="l00588"></a><span class="lineno">  588</span>      std::string* cloned);</div>
<div class="line"><a id="l00589" name="l00589"></a><span class="lineno">  589</span> </div>
<div class="line"><a id="l00602" name="l00602"></a><span class="lineno">  602</span>  <span class="keywordtype">void</span> <a class="code hl_function" href="classipfs_1_1Client.html#a149b21207f70215ad0097764e6ae2e65">ObjectPatchRmLink</a>(</div>
<div class="line"><a id="l00604" name="l00604"></a><span class="lineno">  604</span>      <span class="keyword">const</span> std::string&amp; source,</div>
<div class="line"><a id="l00606" name="l00606"></a><span class="lineno">  606</span>      <span class="keyword">const</span> std::string&amp; link_name,</div>
<div class="line"><a id="l00608" name="l00608"></a><span class="lineno">  608</span>      std::string* cloned);</div>
<div class="line"><a id="l00609" name="l00609"></a><span class="lineno">  609</span> </div>
<div class="line"><a id="l00621" name="l00621"></a><span class="lineno">  621</span>  <span class="keywordtype">void</span> <a class="code hl_function" href="classipfs_1_1Client.html#af414390a18a656fd2568cf70481e51b4">ObjectPatchAppendData</a>(</div>
<div class="line"><a id="l00623" name="l00623"></a><span class="lineno">  623</span>      <span class="keyword">const</span> std::string&amp; source,</div>
<div class="line"><a id="l00625" name="l00625"></a><span class="lineno">  625</span>      <span class="keyword">const</span> <a class="code hl_struct" href="structipfs_1_1http_1_1FileUpload.html">http::FileUpload</a>&amp; data,</div>
<div class="line"><a id="l00627" name="l00627"></a><span class="lineno">  627</span>      std::string* cloned);</div>
<div class="line"><a id="l00628" name="l00628"></a><span class="lineno">  628</span> </div>
<div class="line"><a id="l00640" name="l00640"></a><span class="lineno">  640</span>  <span class="keywordtype">void</span> <a class="code hl_function" href="classipfs_1_1Client.html#a949a35293f16868980ab013606264b24">ObjectPatchSetData</a>(</div>
<div class="line"><a id="l00642" name="l00642"></a><span class="lineno">  642</span>      <span class="keyword">const</span> std::string&amp; source,</div>
<div class="line"><a id="l00644" name="l00644"></a><span class="lineno">  644</span>      <span class="keyword">const</span> <a class="code hl_struct" href="structipfs_1_1http_1_1FileUpload.html">http::FileUpload</a>&amp; data,</div>
<div class="line"><a id="l00646" name="l00646"></a><span class="lineno">  646</span>      std::string* cloned);</div>
<div class="line"><a id="l00647" name="l00647"></a><span class="lineno">  647</span> </div>
<div class="line"><a id="l00659" name="l00659"></a><span class="lineno">  659</span>  <span class="keywordtype">void</span> <a class="code hl_function" href="classipfs_1_1Client.html#a18e6d6a299748d3ba3a681bac7c5bd5d">PinAdd</a>(</div>
<div class="line"><a id="l00661" name="l00661"></a><span class="lineno">  661</span>      <span class="keyword">const</span> std::string&amp; object_id);</div>
<div class="line"><a id="l00662" name="l00662"></a><span class="lineno">  662</span> </div>
<div class="line"><a id="l00674" name="l00674"></a><span class="lineno">  674</span>  <span class="keywordtype">void</span> <a class="code hl_function" href="classipfs_1_1Client.html#a5c6f313e1d361f4d21a7a67915e6b19f">PinLs</a>(</div>
<div class="line"><a id="l00676" name="l00676"></a><span class="lineno">  676</span>      <a class="code hl_typedef" href="namespaceipfs.html#a92ea49891c9d47378b920b41704a29ec">Json</a>* pinned);</div>
<div class="line"><a id="l00677" name="l00677"></a><span class="lineno">  677</span> </div>
<div class="line"><a id="l00689" name="l00689"></a><span class="lineno">  689</span>  <span class="keywordtype">void</span> <a class="code hl_function" href="classipfs_1_1Client.html#a5c6f313e1d361f4d21a7a67915e6b19f">PinLs</a>(</div>
<div class="line"><a id="l00691" name="l00691"></a><span class="lineno">  691</span>      <span class="keyword">const</span> std::string&amp; object_id,</div>
<div class="line"><a id="l00693" name="l00693"></a><span class="lineno">  693</span>      <a class="code hl_typedef" href="namespaceipfs.html#a92ea49891c9d47378b920b41704a29ec">Json</a>* pinned);</div>
<div class="line"><a id="l00694" name="l00694"></a><span class="lineno">  694</span> </div>
<div class="line"><a id="l00696" name="l00696"></a><span class="lineno"><a class="line" href="classipfs_1_1Client.html#adc5716aa4272ff2bedcae954339c77d0">  696</a></span>  <span class="keyword">enum class</span> <a class="code hl_enumeration" href="classipfs_1_1Client.html#adc5716aa4272ff2bedcae954339c77d0">PinRmOptions</a> {</div>
<div class="line"><a id="l00698" name="l00698"></a><span class="lineno">  698</span>    <a class="code hl_enumvalue" href="classipfs_1_1Client.html#adc5716aa4272ff2bedcae954339c77d0a254f9369d66a06a09f3ac854e72f6825">NON_RECURSIVE</a>,</div>
<div class="line"><a id="l00700" name="l00700"></a><span class="lineno">  700</span>    <a class="code hl_enumvalue" href="classipfs_1_1Client.html#adc5716aa4272ff2bedcae954339c77d0a1c1aa83dfe54dfc3528f9e40131cf638">RECURSIVE</a>,</div>
<div class="line"><a id="l00701" name="l00701"></a><span class="lineno">  701</span>  };</div>
<div class="line"><a id="l00702" name="l00702"></a><span class="lineno">  702</span> </div>
<div class="line"><a id="l00716" name="l00716"></a><span class="lineno">  716</span>  <span class="keywordtype">void</span> <a class="code hl_function" href="classipfs_1_1Client.html#a1f5d4bfb19f0f739ce8f888c7cbbcc44">PinRm</a>(</div>
<div class="line"><a id="l00718" name="l00718"></a><span class="lineno">  718</span>      <span class="keyword">const</span> std::string&amp; object_id,</div>
<div class="line"><a id="l00720" name="l00720"></a><span class="lineno">  720</span>      <a class="code hl_enumeration" href="classipfs_1_1Client.html#adc5716aa4272ff2bedcae954339c77d0">PinRmOptions</a> options);</div>
<div class="line"><a id="l00721" name="l00721"></a><span class="lineno">  721</span> </div>
<div class="line"><a id="l00733" name="l00733"></a><span class="lineno">  733</span>  <span class="keywordtype">void</span> <a class="code hl_function" href="classipfs_1_1Client.html#ad944a5a304c799b314b3b9ab7765d314">StatsBw</a>(</div>
<div class="line"><a id="l00742" name="l00742"></a><span class="lineno">  742</span>      <a class="code hl_typedef" href="namespaceipfs.html#a92ea49891c9d47378b920b41704a29ec">Json</a>* bandwidth_info);</div>
<div class="line"><a id="l00743" name="l00743"></a><span class="lineno">  743</span> </div>
<div class="line"><a id="l00755" name="l00755"></a><span class="lineno">  755</span>  <span class="keywordtype">void</span> <a class="code hl_function" href="classipfs_1_1Client.html#aec756626c42caf55728dad5b6cb7d0f3">StatsRepo</a>(</div>
<div class="line"><a id="l00765" name="l00765"></a><span class="lineno">  765</span>      <a class="code hl_typedef" href="namespaceipfs.html#a92ea49891c9d47378b920b41704a29ec">Json</a>* repo_stats);</div>
<div class="line"><a id="l00766" name="l00766"></a><span class="lineno">  766</span> </div>
<div class="line"><a id="l00778" name="l00778"></a><span class="lineno">  778</span>  <span class="keywordtype">void</span> <a class="code hl_function" href="classipfs_1_1Client.html#aa45a95118ec539863c12da953ab1988c">SwarmAddrs</a>(</div>
<div class="line"><a id="l00780" name="l00780"></a><span class="lineno">  780</span>      <a class="code hl_typedef" href="namespaceipfs.html#a92ea49891c9d47378b920b41704a29ec">Json</a>* addresses);</div>
<div class="line"><a id="l00781" name="l00781"></a><span class="lineno">  781</span> </div>
<div class="line"><a id="l00793" name="l00793"></a><span class="lineno">  793</span>  <span class="keywordtype">void</span> <a class="code hl_function" href="classipfs_1_1Client.html#a2dc1372e2c7505e541115c97c7b497a7">SwarmConnect</a>(</div>
<div class="line"><a id="l00797" name="l00797"></a><span class="lineno">  797</span>      <span class="keyword">const</span> std::string&amp; peer);</div>
<div class="line"><a id="l00798" name="l00798"></a><span class="lineno">  798</span> </div>
<div class="line"><a id="l00810" name="l00810"></a><span class="lineno">  810</span>  <span class="keywordtype">void</span> <a class="code hl_function" href="classipfs_1_1Client.html#afd550da40c4517c59750327784707923">SwarmDisconnect</a>(</div>
<div class="line"><a id="l00814" name="l00814"></a><span class="lineno">  814</span>      <span class="keyword">const</span> std::string&amp; peer);</div>
<div class="line"><a id="l00815" name="l00815"></a><span class="lineno">  815</span> </div>
<div class="line"><a id="l00827" name="l00827"></a><span class="lineno">  827</span>  <span class="keywordtype">void</span> <a class="code hl_function" href="classipfs_1_1Client.html#a3c1f5392892d51152e45221ce1a026da">SwarmPeers</a>(</div>
<div class="line"><a id="l00829" name="l00829"></a><span class="lineno">  829</span>      <a class="code hl_typedef" href="namespaceipfs.html#a92ea49891c9d47378b920b41704a29ec">Json</a>* peers);</div>
<div class="line"><a id="l00830" name="l00830"></a><span class="lineno">  830</span> </div>
<div class="line"><a id="l00844" name="l00844"></a><span class="lineno">  844</span>  <span class="keywordtype">void</span> <a class="code hl_function" href="classipfs_1_1Client.html#aaa862322e6ec703b91ed356d968fbc49">Abort</a>();</div>
<div class="line"><a id="l00845" name="l00845"></a><span class="lineno">  845</span> </div>
<div class="line"><a id="l00859" name="l00859"></a><span class="lineno">  859</span>  <span class="keywordtype">void</span> <a class="code hl_function" href="classipfs_1_1Client.html#a60b2274e7ee70ed9392870cd2c5a8559">Reset</a>();</div>
<div class="line"><a id="l00860" name="l00860"></a><span class="lineno">  860</span> </div>
<div class="line"><a id="l00861" name="l00861"></a><span class="lineno">  861</span> <span class="keyword">private</span>:</div>
<div class="line"><a id="l00863" name="l00863"></a><span class="lineno">  863</span>  <span class="keywordtype">void</span> FetchAndParseJson(</div>
<div class="line"><a id="l00866" name="l00866"></a><span class="lineno">  866</span>      <span class="keyword">const</span> std::string&amp; url,</div>
<div class="line"><a id="l00868" name="l00868"></a><span class="lineno">  868</span>      <a class="code hl_typedef" href="namespaceipfs.html#a92ea49891c9d47378b920b41704a29ec">Json</a>* response);</div>
<div class="line"><a id="l00869" name="l00869"></a><span class="lineno">  869</span> </div>
<div class="line"><a id="l00872" name="l00872"></a><span class="lineno">  872</span>  <span class="keywordtype">void</span> FetchAndParseJson(</div>
<div class="line"><a id="l00874" name="l00874"></a><span class="lineno">  874</span>      <span class="keyword">const</span> std::string&amp; url,</div>
<div class="line"><a id="l00876" name="l00876"></a><span class="lineno">  876</span>      <span class="keyword">const</span> std::vector&lt;http::FileUpload&gt;&amp; files,</div>
<div class="line"><a id="l00878" name="l00878"></a><span class="lineno">  878</span>      <a class="code hl_typedef" href="namespaceipfs.html#a92ea49891c9d47378b920b41704a29ec">Json</a>* response);</div>
<div class="line"><a id="l00879" name="l00879"></a><span class="lineno">  879</span> </div>
<div class="line"><a id="l00884" name="l00884"></a><span class="lineno">  884</span>  <span class="keyword">static</span> <span class="keywordtype">void</span> ParseJson(</div>
<div class="line"><a id="l00886" name="l00886"></a><span class="lineno">  886</span>      <span class="keyword">const</span> std::string&amp; input,</div>
<div class="line"><a id="l00888" name="l00888"></a><span class="lineno">  888</span>      <a class="code hl_typedef" href="namespaceipfs.html#a92ea49891c9d47378b920b41704a29ec">Json</a>* result);</div>
<div class="line"><a id="l00889" name="l00889"></a><span class="lineno">  889</span> </div>
<div class="line"><a id="l00894" name="l00894"></a><span class="lineno">  894</span>  <span class="keyword">template</span> &lt;<span class="keyword">class</span> PropertyType&gt;</div>
<div class="line"><a id="l00895" name="l00895"></a><span class="lineno">  895</span>  <span class="keyword">static</span> <span class="keywordtype">void</span> GetProperty(</div>
<div class="line"><a id="l00897" name="l00897"></a><span class="lineno">  897</span>      <span class="keyword">const</span> <a class="code hl_typedef" href="namespaceipfs.html#a92ea49891c9d47378b920b41704a29ec">Json</a>&amp; input,</div>
<div class="line"><a id="l00899" name="l00899"></a><span class="lineno">  899</span>      <span class="keyword">const</span> std::string&amp; property_name,</div>
<div class="line"><a id="l00901" name="l00901"></a><span class="lineno">  901</span>      <span class="keywordtype">size_t</span> line_number,</div>
<div class="line"><a id="l00903" name="l00903"></a><span class="lineno">  903</span>      PropertyType* property_value);</div>
<div class="line"><a id="l00904" name="l00904"></a><span class="lineno">  904</span> </div>
<div class="line"><a id="l00911" name="l00911"></a><span class="lineno">  911</span>  std::string MakeUrl(</div>
<div class="line"><a id="l00913" name="l00913"></a><span class="lineno">  913</span>      <span class="keyword">const</span> std::string&amp; path,</div>
<div class="line"><a id="l00915" name="l00915"></a><span class="lineno">  915</span>      <span class="keyword">const</span> std::vector&lt;std::pair&lt;std::string, std::string&gt;&gt;&amp; parameters = {});</div>
<div class="line"><a id="l00916" name="l00916"></a><span class="lineno">  916</span> </div>
<div class="line"><a id="l00919" name="l00919"></a><span class="lineno">  919</span>  std::string url_prefix_;</div>
<div class="line"><a id="l00920" name="l00920"></a><span class="lineno">  920</span> </div>
<div class="line"><a id="l00922" name="l00922"></a><span class="lineno">  922</span>  std::unique_ptr&lt;http::Transport&gt; http_;</div>
<div class="line"><a id="l00923" name="l00923"></a><span class="lineno">  923</span> </div>
<div class="line"><a id="l00925" name="l00925"></a><span class="lineno">  925</span>  std::string timeout_value_;</div>
<div class="line"><a id="l00926" name="l00926"></a><span class="lineno">  926</span>};</div>
<div class="line"><a id="l00927" name="l00927"></a><span class="lineno">  927</span>} <span class="comment">/* namespace ipfs */</span></div>
<div class="line"><a id="l00928" name="l00928"></a><span class="lineno">  928</span> </div>
<div class="line"><a id="l00929" name="l00929"></a><span class="lineno">  929</span><span class="preprocessor">#endif </span><span class="comment">/* IPFS_CLIENT_H */</span><span class="preprocessor"></span></div>
<div class="ttc" id="aclassipfs_1_1Client_html"><div class="ttname"><a href="classipfs_1_1Client.html">ipfs::Client</a></div><div class="ttdoc">IPFS client.</div><div class="ttdef"><b>Definition</b> client.h:48</div></div>
<div class="ttc" id="aclassipfs_1_1Client_html_a08c8f4cc1091fd142e002a2861fada59"><div class="ttname"><a href="classipfs_1_1Client.html#a08c8f4cc1091fd142e002a2861fada59">ipfs::Client::BlockStat</a></div><div class="ttdeci">void BlockStat(const std::string &amp;block_id, Json *stat)</div><div class="ttdoc">Get information for a raw IPFS block.</div><div class="ttdef"><b>Definition</b> client.cc:202</div></div>
<div class="ttc" id="aclassipfs_1_1Client_html_a0c0a73fa1a284cd4a12c1395a0eb356c"><div class="ttname"><a href="classipfs_1_1Client.html#a0c0a73fa1a284cd4a12c1395a0eb356c">ipfs::Client::FilesLs</a></div><div class="ttdeci">void FilesLs(const std::string &amp;path, Json *result)</div><div class="ttdoc">List directory contents for Unix filesystem objects.</div><div class="ttdef"><b>Definition</b> client.cc:269</div></div>
<div class="ttc" id="aclassipfs_1_1Client_html_a149b21207f70215ad0097764e6ae2e65"><div class="ttname"><a href="classipfs_1_1Client.html#a149b21207f70215ad0097764e6ae2e65">ipfs::Client::ObjectPatchRmLink</a></div><div class="ttdeci">void ObjectPatchRmLink(const std::string &amp;source, const std::string &amp;link_name, std::string *cloned)</div><div class="ttdoc">Create a new object from an existing MerkleDAG node and remove one of its links.</div><div class="ttdef"><b>Definition</b> client.cc:378</div></div>
<div class="ttc" id="aclassipfs_1_1Client_html_a1613d0ec824f1967a66ff53153d914be"><div class="ttname"><a href="classipfs_1_1Client.html#a1613d0ec824f1967a66ff53153d914be">ipfs::Client::BlockPut</a></div><div class="ttdeci">void BlockPut(const http::FileUpload &amp;block, Json *stat)</div><div class="ttdoc">Store a raw block in IPFS.</div><div class="ttdef"><b>Definition</b> client.cc:198</div></div>
<div class="ttc" id="aclassipfs_1_1Client_html_a18e6d6a299748d3ba3a681bac7c5bd5d"><div class="ttname"><a href="classipfs_1_1Client.html#a18e6d6a299748d3ba3a681bac7c5bd5d">ipfs::Client::PinAdd</a></div><div class="ttdeci">void PinAdd(const std::string &amp;object_id)</div><div class="ttdoc">Pin a given IPFS object.</div><div class="ttdef"><b>Definition</b> client.cc:412</div></div>
<div class="ttc" id="aclassipfs_1_1Client_html_a1f5d4bfb19f0f739ce8f888c7cbbcc44"><div class="ttname"><a href="classipfs_1_1Client.html#a1f5d4bfb19f0f739ce8f888c7cbbcc44">ipfs::Client::PinRm</a></div><div class="ttdeci">void PinRm(const std::string &amp;object_id, PinRmOptions options)</div><div class="ttdoc">Unpin an object.</div><div class="ttdef"><b>Definition</b> client.cc:439</div></div>
<div class="ttc" id="aclassipfs_1_1Client_html_a2dc1372e2c7505e541115c97c7b497a7"><div class="ttname"><a href="classipfs_1_1Client.html#a2dc1372e2c7505e541115c97c7b497a7">ipfs::Client::SwarmConnect</a></div><div class="ttdeci">void SwarmConnect(const std::string &amp;peer)</div><div class="ttdoc">Open a connection to a given address.</div><div class="ttdef"><b>Definition</b> client.cc:462</div></div>
<div class="ttc" id="aclassipfs_1_1Client_html_a2fcb017f9de04c221b78e47cf062039d"><div class="ttname"><a href="classipfs_1_1Client.html#a2fcb017f9de04c221b78e47cf062039d">ipfs::Client::ObjectStat</a></div><div class="ttdeci">void ObjectStat(const std::string &amp;object_id, Json *stat)</div><div class="ttdoc">Get stats about a MerkleDAG node.</div><div class="ttdef"><b>Definition</b> client.cc:360</div></div>
<div class="ttc" id="aclassipfs_1_1Client_html_a3c1f5392892d51152e45221ce1a026da"><div class="ttname"><a href="classipfs_1_1Client.html#a3c1f5392892d51152e45221ce1a026da">ipfs::Client::SwarmPeers</a></div><div class="ttdeci">void SwarmPeers(Json *peers)</div><div class="ttdoc">List the peers that we have connections with.</div><div class="ttdef"><b>Definition</b> client.cc:472</div></div>
<div class="ttc" id="aclassipfs_1_1Client_html_a49d9bb4e44e66170c8e32134300ccfb1"><div class="ttname"><a href="classipfs_1_1Client.html#a49d9bb4e44e66170c8e32134300ccfb1">ipfs::Client::KeyList</a></div><div class="ttdeci">void KeyList(Json *key_list)</div><div class="ttdoc">List all the keys.</div><div class="ttdef"><b>Definition</b> client.cc:284</div></div>
<div class="ttc" id="aclassipfs_1_1Client_html_a4cd82e5d6223c2522c50e01047eb9d74"><div class="ttname"><a href="classipfs_1_1Client.html#a4cd82e5d6223c2522c50e01047eb9d74">ipfs::Client::BlockGet</a></div><div class="ttdeci">void BlockGet(const std::string &amp;block_id, std::iostream *block)</div><div class="ttdoc">Get a raw IPFS block.</div><div class="ttdef"><b>Definition</b> client.cc:194</div></div>
<div class="ttc" id="aclassipfs_1_1Client_html_a4fc42dccf9392a96d51099bc252a6092"><div class="ttname"><a href="classipfs_1_1Client.html#a4fc42dccf9392a96d51099bc252a6092">ipfs::Client::ConfigGet</a></div><div class="ttdeci">void ConfigGet(const std::string &amp;key, Json *config)</div><div class="ttdoc">Query the current config of the peer.</div><div class="ttdef"><b>Definition</b> client.cc:92</div></div>
<div class="ttc" id="aclassipfs_1_1Client_html_a599d2585c57dd3abbc1b497454f3c541"><div class="ttname"><a href="classipfs_1_1Client.html#a599d2585c57dd3abbc1b497454f3c541">ipfs::Client::KeyRename</a></div><div class="ttdeci">void KeyRename(const std::string &amp;old_key, const std::string &amp;new_key)</div><div class="ttdoc">Rename an existing key.</div><div class="ttdef"><b>Definition</b> client.cc:295</div></div>
<div class="ttc" id="aclassipfs_1_1Client_html_a5c6f313e1d361f4d21a7a67915e6b19f"><div class="ttname"><a href="classipfs_1_1Client.html#a5c6f313e1d361f4d21a7a67915e6b19f">ipfs::Client::PinLs</a></div><div class="ttdeci">void PinLs(Json *pinned)</div><div class="ttdoc">List all the objects pinned to local storage.</div><div class="ttdef"><b>Definition</b> client.cc:431</div></div>
<div class="ttc" id="aclassipfs_1_1Client_html_a5d239a25cd20cbc15c13c96c790abf46"><div class="ttname"><a href="classipfs_1_1Client.html#a5d239a25cd20cbc15c13c96c790abf46">ipfs::Client::ObjectPatchAddLink</a></div><div class="ttdeci">void ObjectPatchAddLink(const std::string &amp;source, const std::string &amp;link_name, const std::string &amp;link_target, std::string *cloned)</div><div class="ttdoc">Create a new object from an existing MerkleDAG node and add to its links.</div><div class="ttdef"><b>Definition</b> client.cc:364</div></div>
<div class="ttc" id="aclassipfs_1_1Client_html_a60b2274e7ee70ed9392870cd2c5a8559"><div class="ttname"><a href="classipfs_1_1Client.html#a60b2274e7ee70ed9392870cd2c5a8559">ipfs::Client::Reset</a></div><div class="ttdeci">void Reset()</div><div class="ttdoc">Resets the abort call, allowing to execute new API requests again.</div><div class="ttdef"><b>Definition</b> client.cc:483</div></div>
<div class="ttc" id="aclassipfs_1_1Client_html_a61596ec86896753addebc2acac01d011"><div class="ttname"><a href="classipfs_1_1Client.html#a61596ec86896753addebc2acac01d011">ipfs::Client::NameResolve</a></div><div class="ttdeci">void NameResolve(const std::string &amp;name_id, std::string *path_string)</div><div class="ttdoc">Resolve an IPNS name.</div><div class="ttdef"><b>Definition</b> client.cc:317</div></div>
<div class="ttc" id="aclassipfs_1_1Client_html_a640274d537d4da7139c89c4dacac531c"><div class="ttname"><a href="classipfs_1_1Client.html#a640274d537d4da7139c89c4dacac531c">ipfs::Client::~Client</a></div><div class="ttdeci">~Client()</div><div class="ttdoc">Destructor.</div></div>
<div class="ttc" id="aclassipfs_1_1Client_html_a65d8e5b1ac53f2f54bc9860dea015c6d"><div class="ttname"><a href="classipfs_1_1Client.html#a65d8e5b1ac53f2f54bc9860dea015c6d">ipfs::Client::ObjectNew</a></div><div class="ttdeci">void ObjectNew(std::string *object_id)</div><div class="ttdoc">Create a new MerkleDAG node.</div><div class="ttdef"><b>Definition</b> client.cc:325</div></div>
<div class="ttc" id="aclassipfs_1_1Client_html_a7598eaecec5293f29f84e2fc7ca7bc5b"><div class="ttname"><a href="classipfs_1_1Client.html#a7598eaecec5293f29f84e2fc7ca7bc5b">ipfs::Client::FilesGet</a></div><div class="ttdeci">void FilesGet(const std::string &amp;path, std::iostream *response)</div><div class="ttdoc">Get a file from IPFS.</div><div class="ttdef"><b>Definition</b> client.cc:206</div></div>
<div class="ttc" id="aclassipfs_1_1Client_html_a783ddccb9559315599b07343b153ffc2"><div class="ttname"><a href="classipfs_1_1Client.html#a783ddccb9559315599b07343b153ffc2">ipfs::Client::ObjectPut</a></div><div class="ttdeci">void ObjectPut(const Json &amp;object, Json *object_stored)</div><div class="ttdoc">Store a MerkleDAG node.</div><div class="ttdef"><b>Definition</b> client.cc:333</div></div>
<div class="ttc" id="aclassipfs_1_1Client_html_a8c8c8703f4be0e4eb5053301b3577ed8"><div class="ttname"><a href="classipfs_1_1Client.html#a8c8c8703f4be0e4eb5053301b3577ed8">ipfs::Client::KeyRm</a></div><div class="ttdeci">void KeyRm(const std::string &amp;key_name)</div><div class="ttdoc">Remove a key.</div><div class="ttdef"><b>Definition</b> client.cc:290</div></div>
<div class="ttc" id="aclassipfs_1_1Client_html_a90b1ecd4897794ea6ad5742a41f21525"><div class="ttname"><a href="classipfs_1_1Client.html#a90b1ecd4897794ea6ad5742a41f21525">ipfs::Client::ObjectLinks</a></div><div class="ttdeci">void ObjectLinks(const std::string &amp;object_id, Json *links)</div><div class="ttdoc">Get links of a MerkleDAG node.</div><div class="ttdef"><b>Definition</b> client.cc:352</div></div>
<div class="ttc" id="aclassipfs_1_1Client_html_a93d0ec05a38a4094b3e0dc33c0cc7efe"><div class="ttname"><a href="classipfs_1_1Client.html#a93d0ec05a38a4094b3e0dc33c0cc7efe">ipfs::Client::NamePublish</a></div><div class="ttdeci">void NamePublish(const std::string &amp;object_id, const std::string &amp;key_name, const Json &amp;options, std::string *name_id)</div><div class="ttdoc">Publish an IPNS name attached to a given value.</div><div class="ttdef"><b>Definition</b> client.cc:301</div></div>
<div class="ttc" id="aclassipfs_1_1Client_html_a949a35293f16868980ab013606264b24"><div class="ttname"><a href="classipfs_1_1Client.html#a949a35293f16868980ab013606264b24">ipfs::Client::ObjectPatchSetData</a></div><div class="ttdeci">void ObjectPatchSetData(const std::string &amp;source, const http::FileUpload &amp;data, std::string *cloned)</div><div class="ttdoc">Create a new object from an existing MerkleDAG node and set its data.</div><div class="ttdef"><b>Definition</b> client.cc:401</div></div>
<div class="ttc" id="aclassipfs_1_1Client_html_a9c93643d0567793925daea95ece432eb"><div class="ttname"><a href="classipfs_1_1Client.html#a9c93643d0567793925daea95ece432eb">ipfs::Client::DhtFindProvs</a></div><div class="ttdeci">void DhtFindProvs(const std::string &amp;hash, Json *providers)</div><div class="ttdoc">Retrieve the providers for a content that is addressed by a hash.</div><div class="ttdef"><b>Definition</b> client.cc:163</div></div>
<div class="ttc" id="aclassipfs_1_1Client_html_aa45a95118ec539863c12da953ab1988c"><div class="ttname"><a href="classipfs_1_1Client.html#aa45a95118ec539863c12da953ab1988c">ipfs::Client::SwarmAddrs</a></div><div class="ttdeci">void SwarmAddrs(Json *addresses)</div><div class="ttdoc">List of known addresses of each peer connected.</div><div class="ttdef"><b>Definition</b> client.cc:458</div></div>
<div class="ttc" id="aclassipfs_1_1Client_html_aa6e2c0b4a19bacb58932e777be08d232"><div class="ttname"><a href="classipfs_1_1Client.html#aa6e2c0b4a19bacb58932e777be08d232">ipfs::Client::ConfigReplace</a></div><div class="ttdeci">void ConfigReplace(const Json &amp;config)</div><div class="ttdoc">Replace the entire config at the peer.</div><div class="ttdef"><b>Definition</b> client.cc:124</div></div>
<div class="ttc" id="aclassipfs_1_1Client_html_aa8d6e75330c6a3d82130f0be4b66b13e"><div class="ttname"><a href="classipfs_1_1Client.html#aa8d6e75330c6a3d82130f0be4b66b13e">ipfs::Client::ObjectData</a></div><div class="ttdeci">void ObjectData(const std::string &amp;object_id, std::string *data)</div><div class="ttdoc">Get the data field of a MerkleDAG node.</div><div class="ttdef"><b>Definition</b> client.cc:344</div></div>
<div class="ttc" id="aclassipfs_1_1Client_html_aaa862322e6ec703b91ed356d968fbc49"><div class="ttname"><a href="classipfs_1_1Client.html#aaa862322e6ec703b91ed356d968fbc49">ipfs::Client::Abort</a></div><div class="ttdeci">void Abort()</div><div class="ttdoc">Abort any current running IPFS API request.</div><div class="ttdef"><b>Definition</b> client.cc:476</div></div>
<div class="ttc" id="aclassipfs_1_1Client_html_ab3ff2cc70ec6a65761d2d088a9ba9323"><div class="ttname"><a href="classipfs_1_1Client.html#ab3ff2cc70ec6a65761d2d088a9ba9323">ipfs::Client::operator=</a></div><div class="ttdeci">Client &amp; operator=(const Client &amp;)</div><div class="ttdoc">Copy assignment operator.</div><div class="ttdef"><b>Definition</b> client.cc:55</div></div>
<div class="ttc" id="aclassipfs_1_1Client_html_ab50f9855e7c812542e153475e86645b9"><div class="ttname"><a href="classipfs_1_1Client.html#ab50f9855e7c812542e153475e86645b9">ipfs::Client::ConfigSet</a></div><div class="ttdeci">void ConfigSet(const std::string &amp;key, const Json &amp;value)</div><div class="ttdoc">Add or replace a config knob at the peer.</div><div class="ttdef"><b>Definition</b> client.cc:118</div></div>
<div class="ttc" id="aclassipfs_1_1Client_html_abc9556daecb92afeea9b2adfde034a7f"><div class="ttname"><a href="classipfs_1_1Client.html#abc9556daecb92afeea9b2adfde034a7f">ipfs::Client::ObjectGet</a></div><div class="ttdeci">void ObjectGet(const std::string &amp;object_id, Json *object)</div><div class="ttdoc">Get a MerkleDAG node.</div><div class="ttdef"><b>Definition</b> client.cc:340</div></div>
<div class="ttc" id="aclassipfs_1_1Client_html_abe2e1d9f5479fa5007f93a0dee053d12"><div class="ttname"><a href="classipfs_1_1Client.html#abe2e1d9f5479fa5007f93a0dee053d12">ipfs::Client::FilesAdd</a></div><div class="ttdeci">void FilesAdd(const std::vector&lt; http::FileUpload &gt; &amp;files, Json *result)</div><div class="ttdoc">Add files to IPFS.</div><div class="ttdef"><b>Definition</b> client.cc:210</div></div>
<div class="ttc" id="aclassipfs_1_1Client_html_ad944a5a304c799b314b3b9ab7765d314"><div class="ttname"><a href="classipfs_1_1Client.html#ad944a5a304c799b314b3b9ab7765d314">ipfs::Client::StatsBw</a></div><div class="ttdeci">void StatsBw(Json *bandwidth_info)</div><div class="ttdoc">Get IPFS bandwidth (bw) information.</div><div class="ttdef"><b>Definition</b> client.cc:450</div></div>
<div class="ttc" id="aclassipfs_1_1Client_html_ada01369adfda81c869a7095d98197961"><div class="ttname"><a href="classipfs_1_1Client.html#ada01369adfda81c869a7095d98197961">ipfs::Client::KeyGen</a></div><div class="ttdeci">void KeyGen(const std::string &amp;key_name, const std::string &amp;key_type, size_t key_size, std::string *key_id)</div><div class="ttdoc">Generate a new key.</div><div class="ttdef"><b>Definition</b> client.cc:273</div></div>
<div class="ttc" id="aclassipfs_1_1Client_html_adaabe1a027399cbcabe291f3471e87f4"><div class="ttname"><a href="classipfs_1_1Client.html#adaabe1a027399cbcabe291f3471e87f4">ipfs::Client::Version</a></div><div class="ttdeci">void Version(Json *version)</div><div class="ttdoc">Return the implementation version of the peer.</div><div class="ttdef"><b>Definition</b> client.cc:88</div></div>
<div class="ttc" id="aclassipfs_1_1Client_html_adc5716aa4272ff2bedcae954339c77d0"><div class="ttname"><a href="classipfs_1_1Client.html#adc5716aa4272ff2bedcae954339c77d0">ipfs::Client::PinRmOptions</a></div><div class="ttdeci">PinRmOptions</div><div class="ttdoc">Options to control the PinRm() method.</div><div class="ttdef"><b>Definition</b> client.h:696</div></div>
<div class="ttc" id="aclassipfs_1_1Client_html_adc5716aa4272ff2bedcae954339c77d0a1c1aa83dfe54dfc3528f9e40131cf638"><div class="ttname"><a href="classipfs_1_1Client.html#adc5716aa4272ff2bedcae954339c77d0a1c1aa83dfe54dfc3528f9e40131cf638">ipfs::Client::PinRmOptions::RECURSIVE</a></div><div class="ttdeci">@ RECURSIVE</div><div class="ttdoc">Recursively unpin the objects.</div></div>
<div class="ttc" id="aclassipfs_1_1Client_html_adc5716aa4272ff2bedcae954339c77d0a254f9369d66a06a09f3ac854e72f6825"><div class="ttname"><a href="classipfs_1_1Client.html#adc5716aa4272ff2bedcae954339c77d0a254f9369d66a06a09f3ac854e72f6825">ipfs::Client::PinRmOptions::NON_RECURSIVE</a></div><div class="ttdeci">@ NON_RECURSIVE</div><div class="ttdoc">Just unpin the specified object.</div></div>
<div class="ttc" id="aclassipfs_1_1Client_html_ae2ab8a0186ec89f1644a3b1d1a0d20fb"><div class="ttname"><a href="classipfs_1_1Client.html#ae2ab8a0186ec89f1644a3b1d1a0d20fb">ipfs::Client::Id</a></div><div class="ttdeci">void Id(Json *id)</div><div class="ttdoc">Return the identity of the peer.</div><div class="ttdef"><b>Definition</b> client.cc:86</div></div>
<div class="ttc" id="aclassipfs_1_1Client_html_aec756626c42caf55728dad5b6cb7d0f3"><div class="ttname"><a href="classipfs_1_1Client.html#aec756626c42caf55728dad5b6cb7d0f3">ipfs::Client::StatsRepo</a></div><div class="ttdeci">void StatsRepo(Json *repo_stats)</div><div class="ttdoc">Get IPFS Repo Stats.</div><div class="ttdef"><b>Definition</b> client.cc:454</div></div>
<div class="ttc" id="aclassipfs_1_1Client_html_af34ac771242a66294ff60d820712a99d"><div class="ttname"><a href="classipfs_1_1Client.html#af34ac771242a66294ff60d820712a99d">ipfs::Client::DhtFindPeer</a></div><div class="ttdeci">void DhtFindPeer(const std::string &amp;peer_id, Json *addresses)</div><div class="ttdoc">Retrieve the peer info of a reachable node in the network.</div><div class="ttdef"><b>Definition</b> client.cc:132</div></div>
<div class="ttc" id="aclassipfs_1_1Client_html_af414390a18a656fd2568cf70481e51b4"><div class="ttname"><a href="classipfs_1_1Client.html#af414390a18a656fd2568cf70481e51b4">ipfs::Client::ObjectPatchAppendData</a></div><div class="ttdeci">void ObjectPatchAppendData(const std::string &amp;source, const http::FileUpload &amp;data, std::string *cloned)</div><div class="ttdoc">Create a new object from an existing MerkleDAG node and append data to it.</div><div class="ttdef"><b>Definition</b> client.cc:390</div></div>
<div class="ttc" id="aclassipfs_1_1Client_html_afd550da40c4517c59750327784707923"><div class="ttname"><a href="classipfs_1_1Client.html#afd550da40c4517c59750327784707923">ipfs::Client::SwarmDisconnect</a></div><div class="ttdeci">void SwarmDisconnect(const std::string &amp;peer)</div><div class="ttdoc">Close a connection on a given address.</div><div class="ttdef"><b>Definition</b> client.cc:467</div></div>
<div class="ttc" id="anamespaceipfs_html"><div class="ttname"><a href="namespaceipfs.html">ipfs</a></div><div class="ttdoc">IPFS namespace.</div><div class="ttdef"><b>Definition</b> client.h:33</div></div>
<div class="ttc" id="anamespaceipfs_html_a92ea49891c9d47378b920b41704a29ec"><div class="ttname"><a href="namespaceipfs.html#a92ea49891c9d47378b920b41704a29ec">ipfs::Json</a></div><div class="ttdeci">nlohmann::json Json</div><div class="ttdoc">Type of the output of some methods, aliased for convenience.</div><div class="ttdef"><b>Definition</b> client.h:37</div></div>
<div class="ttc" id="astructipfs_1_1http_1_1FileUpload_html"><div class="ttname"><a href="structipfs_1_1http_1_1FileUpload.html">ipfs::http::FileUpload</a></div><div class="ttdoc">HTTP file upload.</div><div class="ttdef"><b>Definition</b> transport.h:33</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.7
</small></address>
</body>
</html>
